Solid models are the critical data elements in modern Computer-Aided Design (CAD) environments, describing the shape and form of parts and assemblies. Increasingly, manufacturing enterprises maintain vast databases (also known as knowledge-bases) of Computer-Aided Design information as well as computer aided manufacturing (CAM) and Computer-Aided Process Planning (CAPP) information associated with the solid models. Such information includes, in addition to the solid models of the parts and assemblies, numeric control (NC) machining programs, production plans and cost data associated with manufacturing the parts and assemblies.
CAD, CAM and CAPP information of previously designed parts and assemblies is useful for process planning and cost estimation of new parts. Such information is generally sought based on perceived similarity of shape and/or structure and/or manufacturing process. However, many existing database systems storing solid models index the solid models based only on simple properties that have little to do with the structure or shape of the part, i.e. part name, designer's name, bills of materials etc. and do not use content and shape-based analysis of the solid models to index the solid models.
Databases of solid models that do make use of high-level content based analysis of the models typically rely on a system of manual classification such as group technology (GT) coding. However, GT coding requires that human observers examine each model in the database and relate each respective model to other models in the database. The task of manual coding is error prone and subject to the personal judgment of the observer. Further, GT coding is a pre-digital process and difficult to automate.
Generally, commercial computer-aided design (CAD) systems use a feature-based design approach to solid modeling. A feature history of a solid model typically includes the addition and subtraction of primitive shape components forming incremental versions of the solid model. Even surface shaping, free-form surface shaping, and deformation operations are internally represented in CAD systems as features in the feature history that generates the final design. CAM and CAPP systems also use feature based approaches to describe the manufacturing and assembly of an artifact.
The feature history of a given solid model's design might be ordered in a number of ways, depending upon the approach of the designer, and still result in the same final geometry and topology. Similarly, manufacturing features may be ordered in any number of alternate ways. However, for retrieval of solid models having prescribed features from a knowledge-base, it is desirable that the bases for retrieval be independent of the order of the features in the feature history.
The size of the knowledge-bases storing solid models and associated information is expected to be quite large, requiring an efficient means for storing and retrieving information from the knowledge-base. Desirably, the means for storing and retrieving the information should also provide for retrieving a solid models having a range of features.
Consequently, it is apparent that a need exists for an automatic method of retrieving solid models which are stored in a knowledge base, based on the shape and structural properties of the solid model. Further it is desirable that the bases for retrieval of the solid models be independent of the specific order of operations used for creating the object. Also, it is apparent that a need exists for a method of characterizing the solid models in such a way that the solid models in the knowledge-base may be indexed in order to accurately and efficiently maintain knowledge-bases of solid models and to facilitate efficient retrieval of solid models from the knowledge-bases.